home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 September / CHIP Eylül 1998.iso / Slackwar / docs / linux-2.0.34 / digiboard.txt < prev    next >
Encoding:
Text File  |  1996-09-19  |  4.5 KB  |  156 lines

  1. The Linux Digiboard Driver
  2. --------------------------
  3.  
  4. The Digiboard Driver for Linux supports the following boards:
  5.  
  6.  DigiBoard PC/Xe, PC/Xi, PC/Xeve
  7.  
  8. Limitations:
  9. ------------
  10. Currently the Driver does not do autoprobing!
  11.  
  12. The preconfigured I/O address is 0200h and the default memory address
  13. 0D0000h, ALT-PIN feature on and 16 ports available.
  14.  
  15. Use them and you will not have to worry about configuring anything.
  16.  
  17. You can configure the driver via lilo. Have a look at the end of this
  18. message. The default settings vanish as soon as you give a digi= commandline.
  19. You can give multiple digi= commandline parameters to define multiple
  20. boards.
  21.  
  22. Supporting Tools:
  23. -----------------
  24. Some tools and more detailed information can be found at
  25. ftp://ftp.fuller.edu/Linux/digi
  26.  
  27. WARNING: Most of the stuff available right now uses the WRONG Major Device
  28. numbers and the wrong call out devices. Be careful and check them first.
  29. Better not use any of the software in that directory if you run a recent
  30. 1.3.X Kernel or later!
  31.  
  32. The "ditty" tool described in the Digiboard Manuals for other Unixes
  33. is also available.
  34.  
  35. Currently the Linux MAKEDEV command does not support generating the Digiboard
  36. Devices. Use the following script to generate the devices:
  37.  
  38. ------------------ mkdigidev begin
  39. #!/bin/sh
  40. #
  41. # Script to create Digiboard Devices
  42. # Christoph Lameter, April 16, 1996
  43. #
  44. # Usage:
  45. # mkdigidev [<number of devices>]
  46.  
  47. DIGI_MAJOR=23
  48. DIGICU_MAJOR=22
  49.  
  50. BOARDS=$1
  51.  
  52. if [ "$BOARDS" = "" ]; then
  53. BOARDS=1
  54. fi
  55.  
  56. boardnum=0
  57. while [ $boardnum -lt $BOARDS ];
  58. do
  59.   for c in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
  60.   do
  61.     name=`expr $boardnum \* 16 + $c`
  62.     mknod /dev/cud$name c $DIGICU_MAJOR $name
  63.     mknod /dev/ttyD$name c $DIGI_MAJOR $name
  64.   done
  65.   boardnum=`expr $boardnum + 1`
  66. done
  67. ------------------ mkdigidev end
  68. or apply the following patch to /dev/MAKEDEV and do a 
  69. make digi
  70. ----- MAKEDEV Patch
  71. --- /dev/MAKEDEV    Sun Aug 13 15:48:23 1995
  72. +++ MAKEDEV    Tue Apr 16 17:53:27 1996
  73. @@ -120,7 +120,7 @@
  74.      while [ $# -ne 0 ]
  75.      do
  76.          case "$1" in
  77. -            mem|tty|ttyp|cua|cub)    ;;
  78. +            mem|tty|ttyp|cua|cub|cud)    ;;
  79.              hd)    echo hda hdb hdc hdd ;;
  80.              xd)    echo xda xdb ;;
  81.              fd)    echo fd0 fd1 ;;
  82. @@ -140,6 +140,7 @@
  83.              dcf)        echo dcf ;;
  84.              pcmcia)    ;; # taken care of by its own driver
  85.              ttyC)    echo cyclades ;;
  86. +            ttyD)    echo digi ;;
  87.              *)    echo "$0: don't know what \"$1\" is" >&2 ;;
  88.          esac
  89.          shift
  90. @@ -208,6 +209,15 @@
  91.          do
  92.              makedev ttyC$i c $major1 `expr 32 + $i` $tty
  93.              makedev cub$i c $major2 `expr 32 + $i` $dialout
  94. +        done
  95. +        ;;
  96. +    digi)
  97. +        major1=`Major ttyD` || continue
  98. +        major2=`Major cud` || continue
  99. +        for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  100. +        do
  101. +            makedev ttyD$i c $major1 `expr 32 + $i` $tty
  102. +            makedev cud$i c $major2 `expr 32 + $i` $dialout
  103.          done
  104.          ;;
  105.      par[0-2])
  106. ----- End Makedev patch
  107.  
  108. The /dev/cud?? devices behave like the /dev/cua?? devices
  109. and the ttyD devices are like the /dev/ttyS?? devices.
  110.  
  111. Sources of Information
  112. ----------------------
  113.  
  114. Webpage: http://private.fuller.edu/clameter/digi.html
  115.  
  116. Mailing List: digiboard@list.fuller.edu
  117.  
  118. (Write e-mail to that address to subscribe. Common ListServ commands work.
  119. Archive of messages available)
  120.  
  121. Christoph Lameter (clameter@fuller.edu) 16. April 1996.
  122.  
  123. -----------------------------------------------------------------------------
  124.  
  125. Changes v1.5.5:
  126.  
  127. The ability to use the kernel's command line to pass in the configuration for 
  128. boards.  Using LILO's APPEND command, a string of comma separated identifiers 
  129. or integers can be used.  The 6 values in order are:
  130.  
  131.    Enable/Disable this card,
  132.    Type of card: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)
  133.    Enable/Disable alternate pin arrangement,
  134.    Number of ports on this card,
  135.    I/O Port where card is configured (in HEX if using string identifiers),
  136.    Base of memory window (in HEX if using string identifiers), 
  137.  
  138. Samples:
  139.    append="digi=E,PC/Xi,D,16,200,D0000"
  140.    append="digi=1,0,0,16,512,(whatever D0000 is in base 10 :)
  141.  
  142. Driver's minor device numbers are conserved. This means that instead of
  143. each board getting a block of 16 minors pre-assigned, it gets however
  144. many it should, with the next card following directly behind it.  A
  145. system with 4 2-port PC/Xi boards will use minor numbers 0-7.
  146. This conserves some memory, and removes a few hard coded constants.
  147.  
  148. NOTE!! NOTE!! NOTE!!
  149. The definition of PC/Xem as a valid board type is the BEGINNING of support
  150. for this device.  The driver does not currently recognise the board, nor
  151. does it want to initialize it.  At least not the EISA version.
  152.  
  153. Mike McLagan <mike.mclagan@linux.org> 5, April 1996.
  154.  
  155.